﻿using DataLogical;
using Biz.Utility;

namespace Biz.Status
{
    /// <summary>
    /// #设计模式#状态模式
    /// </summary>
    public abstract class ApplicationStatus : IProduct
    {
        public enum StatusType
        {
            ToSubmit,
            ToApprove,
            Approved,
            Completed,
            Cancelled
        }

        public abstract ApplicationStatus next();
        public abstract ApplicationStatus back();

        public ApplicationStatus cancel()
        {
            return new StatusCancelled();
        }

        public void save(){}

        public void load(int _id){}

        public abstract string PRODUCT_NAME
        {
            get;
        }
    }
}
